Atomic Tasks
This page categorizes and lists all Robocasa atomic kitchen manipulation tasks that are registered as Gymnasium environments, grouped according to their implementation module in the codebase. Each task can be instantiated with gym.make(<Task ID>) using the Gymnasium API. All environments share the base entry point isaaclab.envs:ManagerBasedRLEnv, and specific task logic is specified via the env_cfg_entry_point argument.
Note: The second column shows the Task Name for each atomic task.
kitchen_coffee
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-StartCoffeeMachine | StartCoffeeMachine | Press the button on the coffee machine to serve coffee. |
| Robocasa-Task-CoffeeServeMug | CoffeeServeMug | Pick the object from under the coffee machine dispenser and place it on the counter. |
| Robocasa-Task-CoffeeSetupMug | CoffeeSetupMug | Pick the object from the counter and place it under the coffee machine dispenser. |
kitchen_doors
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-OpenOven | OpenOven | Open the oven door. |
| Robocasa-Task-CloseOven | CloseOven | Close the oven door. |
| Robocasa-Task-OpenToasterOvenDoor | OpenToasterOvenDoor | Open the toaster oven door. |
| Robocasa-Task-CloseToasterOvenDoor | CloseToasterOvenDoor | Close the toaster oven door. |
| Robocasa-Task-OpenDishwasher | OpenDishwasher | Open the dishwasher door. |
| Robocasa-Task-CloseDishwasher | CloseDishwasher | Close the dishwasher door. |
| Robocasa-Task-OpenMicrowave | OpenMicrowave | Open the microwave door. |
| Robocasa-Task-CloseMicrowave | CloseMicrowave | Close the microwave door. |
| Robocasa-Task-OpenFridge | OpenFridge | Open the refrigerator door. |
| Robocasa-Task-CloseFridge | CloseFridge | Close the refrigerator door. |
| Robocasa-Task-OpenCabinet | OpenCabinet | Open a cabinet door. |
| Robocasa-Task-CloseCabinet | CloseCabinet | Close a cabinet door. |
kitchen_drawer
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-OpenDrawer | OpenDrawer | Open the top drawer. |
| Robocasa-Task-CloseDrawer | CloseDrawer | Close the top drawer. |
| Robocasa-Task-SlideDishwasherRack | SlideDishwasherRack | Slide the top dishwasher rack in or out. |
kitchen_electric_kettle
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-OpenElectricKettleLid | OpenElectricKettleLid | Press the button to open the lid of the electric kettle. |
| Robocasa-Task-CloseElectricKettleLid | CloseElectricKettleLid | Close the lid of the electric kettle. |
| Robocasa-Task-TurnOnElectricKettle | TurnOnElectricKettle | Press down the lever to turn on the electric kettle. |
kitchen_microwave
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-TurnOnMicrowave | TurnOnMicrowave | Press the start button on the microwave. |
| Robocasa-Task-TurnOffMicrowave | TurnOffMicrowave | Press the stop button on the microwave. |
kitchen_navigate
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-NavigateKitchen | NavigateKitchen | Navigate the robot from a randomly chosen kitchen fixture to another, ensuring sufficient distance and a valid target type. |
kitchen_oven
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-PreheatOven | PreheatOven | Preheat the oven by turning the temperature knob. |
| Robocasa-Task-SlideOvenRack | SlideOvenRack | Fully slide the oven rack in or out (bottom or top rack, as specified). |
kitchen_pnp(Pick-and-Place Tasks)
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-PnPCounterToCabinet | PnPCounterToCabinet | Pick the object from the counter and place it in the cabinet. |
| Robocasa-Task-PnPCabinetToCounter | PnPCabinetToCounter | Pick the object from the cabinet and place it on the counter. |
| Robocasa-Task-PnPCounterToSink | PnPCounterToSink | Pick the object from the counter and place it in the sink. |
| Robocasa-Task-PnPSinkToCounter | PnPSinkToCounter | Pick the object from the sink and place it on the container located on the counter. |
| Robocasa-Task-PnPCounterToMicrowave | PnPCounterToMicrowave | Pick the object from the counter and place it in the microwave. |
| Robocasa-Task-PnPMicrowaveToCounter | PnPMicrowaveToCounter | Pick the object from the microwave and place it on the container located on the counter. |
| Robocasa-Task-PnPCounterToOven | PnPCounterToOven | Place the object on the rack of the oven. |
| Robocasa-Task-PnPOvenToCounter | PnPOvenToCounter | Pick the object from the oven rack and place it on the plate on the counter. |
| Robocasa-Task-PnPCounterToStove | PnPCounterToStove | Pick the object from the plate and place it in the pan on the stove. |
| Robocasa-Task-PnPStoveToCounter | PnPStoveToCounter | Pick the object from the pan and place it in the container on the counter. |
| Robocasa-Task-PnPToasterToCounter | PnPToasterToCounter | Place the toasted item on a plate. |
| Robocasa-Task-PnPCounterToToasterOven | PnPCounterToToasterOven | Place the object on the rack or tray of the toaster oven. |
| Robocasa-Task-PnPToasterOvenToCounter | PnPToasterOvenToCounter | Pick the object from the toaster oven rack or tray and place it on the plate on the counter. |
| Robocasa-Task-PnPCounterToStandMixer | PnPCounterToStandMixer | Place the object in the stand mixer bowl. |
kitchen_sink
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-TurnOnSinkFaucet | TurnOnSinkFaucet | Turn on the sink faucet by manipulating the handle into the "on" position. |
| Robocasa-Task-TurnOffSinkFaucet | TurnOffSinkFaucet | Turn off the sink faucet by manipulating the handle into the "off" position. |
| Robocasa-Task-TurnSinkSpout | TurnSinkSpout | Turn the sink spout to the specified direction ("left" or "right"). |
kitchen_stand_mixer
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-OpenStandMixerHead | OpenStandMixerHead | Open the stand mixer head. |
| Robocasa-Task-CloseStandMixerHead | CloseStandMixerHead | Close the stand mixer head. |
kitchen_stove
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-TurnOnStove | TurnOnStove | Turn on the stove by manipulating the appropriate burner knob to the "on" position. |
| Robocasa-Task-TurnOffStove | TurnOffStove | Turn off the stove by manipulating the appropriate burner knob to the "off" position. |
kitchen_toaster_oven
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-AdjustToasterOvenTemperature | AdjustToasterOvenTemperature | Adjust the toaster oven temperature, either increasing or decreasing as directed. |
| Robocasa-Task-TurnOnToasterOven | TurnOnToasterOven | Turn on the toaster oven by setting the timer. |
| Robocasa-Task-SlideToasterOvenRack | SlideToasterOvenRack | Fully slide the rack in or out of the toaster oven (supports top/bottom rack if present). |
kitchen_toaster
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-TurnOnToaster | TurnOnToaster | Push down the lever of the toaster to turn it on. |
lift_obj
| Task ID | Task Name | Description |
|---|---|---|
| Robocasa-Task-LiftObj | LiftObject | Lift the Cube from counter. |
Example
import gymnasium as gym
import inspect
# Retrieve the entry point path for the OpenDrawer task
entry_point = gym.spec("Robocasa-Task-OpenDrawer").kwargs.get("env_cfg_entry_point")
DrawerTaskCls = inspect.getfile(entry_point)
drawer_task = DrawerTaskCls()
# Similarly, retrieve the entry point for a pick-and-place task
entry_point_pnp = gym.spec("Robocasa-Task-PnPCounterToCabinet").kwargs.get("env_cfg_entry_point")
PnPTaskCls = inspect.getfile(entry_point)
pnp_task = PnPTaskCls()
# You can then pass the task object to IsaacLabArenaEnvironment or other frameworks
# isaac_env = IsaacLabArenaEnvironment(scene=anyscene, embodiment=anyrobot, task=drawer_task)
# isaac_env_pnp = IsaacLabArenaEnvironment(scene=anyscene, embodiment=anyrobot, task=pnp_task)
All atomic tasks are modular and categorized according to the corresponding source file in the codebase. These can be used individually or composed for more complex kitchen task pipelines.